package com.yonyou.pmclouds.inspectitem.rmiitf;

import com.yonyou.pmclouds.basecom.entity.SuperVO;
import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.inspectitem.entity.InspectItemVO;

import java.math.BigDecimal;
import java.util.Map;

public interface InspectItemService {

    InspectItemVO[] add(InspectItemVO[] vos, SuperVO vo) throws BusinessException;

    InspectItemVO[] update(InspectItemVO[] vos, SuperVO vo) throws BusinessException;

    /**
     * 根据表头主键查询检查项详情【返回数据为显示vo】
     *
     * @param pk_bill
     * @return
     * @throws BusinessException
     */
    InspectItemVO[] queryByPkbill(String pk_bill) throws BusinessException;
    /**
     * 根据表头主键查询检查项详情【返回数据为显示vo】
     * @param pkBills
     * @return
     * @throws BusinessException
     */
    InspectItemVO[] queryByPkBillsAndStatus(String[] pkBills, Integer status) throws BusinessException;
    /**
     * 根据检查项主键查询检查项详细内容
     * @param pk_inspectitem
     * @return
     * @throws BusinessException
     */
    InspectItemVO queryOne(String pk_inspectitem) throws BusinessException;

    /**
     * 通过施工记录pks获取每个施工记录对应的合格率
     *
     * @param constructLogPks
     * @return java.util.Map<java.lang.String       ,               java.lang.Double>
     * @author yzx
     * @date 2018/6/2 15:10
     */
    Map<String, BigDecimal> queryPassRateOfConstructLog(String[] constructLogPks) throws BusinessException;

    /**
     * 获取pks对应的数据
     *
     * @param inspectItemPks
     * @return com.yonyou.pmclouds.inspectitem.entity.InspectItemVO[]
     * @author yzx
     * @date 2018/6/5 10:09
     */
    InspectItemVO[] queryInspectItemsInfoByPks(String[] inspectItemPks) throws BusinessException;
}
